package com.toivan.mt.model;

import android.content.Context;
import android.graphics.drawable.Drawable;

import androidx.annotation.NonNull;

import com.toivan.mt.R;
import com.toivan.sdk.model.MtMagicFilter;

public enum MtMagicFilterEnum {
    NO_FILTER(R.string.none, MtMagicFilter.NO_MAGIC_FILTER, R.drawable.icon_magic_none),
    RHYTHM_SPLIT(R.string.magic_rhythm_split, MtMagicFilter.RHYTHM_SPLIT_MAGIC_FILTER, R.drawable.icon_magic_rhythm_split),
    VIRTUAL_MIRROR(R.string.magic_virtual_mirror, MtMagicFilter.VIRTUAL_MIRROR_MAGIC_FILTER, R.drawable.icon_magic_virtual_mirror),
    BLACK_WHITE(R.string.magic_black_white, MtMagicFilter.BLACK_WHITE_MAGIC_FILTER, R.drawable.icon_magic_black_white),
    GRID_VIEW(R.string.magic_grid_view, MtMagicFilter.GRID_VIEW_MAGIC_FILTER, R.drawable.icon_magic_grid_view),
    FOUR_SCREEN(R.string.magic_four_screen, MtMagicFilter.FOUR_SCREEN_MAGIC_FILTER, R.drawable.icon_magic_four_screen),
    DUMP_BEAT_WAVE(R.string.magic_dump_beat_wave, MtMagicFilter.DRUMBEAT_WAVE_MAGIC_FILTER, R.drawable.icon_magic_dump_beat_wave),
    ANGEL_LIGHT(R.string.magic_angel_light, MtMagicFilter.ANGEL_LIGHT_MAGIC_FILTER, R.drawable.icon_magic_angel_light),
    COLOR_DANCE(R.string.magic_color_dance, MtMagicFilter.COLOR_DANCE_MAGIC_FILTER, R.drawable.icon_magic_color_dance),
    FLASH_BURR(R.string.magic_flash_burr, MtMagicFilter.FLASH_BURR_MAGIC_FILTER, R.drawable.icon_magic_flash_burr),
    ILLUSION_VIGNETTE(R.string.magic_illusion_vignette, MtMagicFilter.ILLUSION_VIGNETTE_MAGIC_FILTER, R.drawable.icon_magic_illusion_vignette);

    private int stringId;
    private MtMagicFilter magicFilter;
    private int imageId;

    MtMagicFilterEnum(int stringId, MtMagicFilter magicFilter, int imageId) {
        this.stringId = stringId;
        this.magicFilter = magicFilter;
        this.imageId = imageId;
    }

    public String getString(@NonNull Context context) {
        return context.getResources().getString(stringId);
    }

    public MtMagicFilter getMagicFilter() {
        return magicFilter;
    }

    public Drawable getImageDrawable(@NonNull Context context) {
        return context.getResources().getDrawable(imageId);
    }



}


